﻿using LiteDB;
using TestModels;

namespace WpfApp1.Models;

public class NodeLiteEntity
{
    public int Id { get; set; }
    public string Name { get; set; } = "";
}

public class NodeEntity
{
    public int Id { get; set; }
    public string Name { get; set; } = "";

    public IAnimal? Animal { get; set; }

    [BsonRef]
    public NodeDetailsEntity? Details { get; set; }
}

public class GenericNodeEntity
{
    public int Id { get; set; }
    public string Name { get; set; } = "";

    [BsonRef]
    public NodeDetailsEntity? Details { get; set; }
}

public class GenericNodeEntity<T> : GenericNodeEntity
    where T : IAnimal
{
    public T? Animal { get; set; }
}

public class NodeDetailsEntity
{
    public int Id { get; set; }
    public string Description { get; set; } = "";
}